In certain computing system configurations, especially in those configurations where conservation of supply power is of importance (e.g., battery-powered computers), the processing unit of the computing system receives information from various loci within the computing system to monitor employment of various associated peripherals and determine whether the system is on battery power or external power (AC power). The processing unit evaluates the various information thus received and, according to predetermined criteria, disables selected peripheral devices within the computing system.
For example, a failure to enter any keystroke entries on the keyboard for a predetermined time interval may result in disabling the display (e.g., the screen) until the display is further required. In such situations, any input/output (IO) transfer associated with a disabled peripheral device, cannot be sent to that disabled device until the device has been enabled and is able to receive the IO transfer. Such power preserving computing systems may employ what is known as an "IO trapping" discipline whereby an IO transfer destined for a disabled peripheral device is "trapped" (i.e., stored or otherwise held) until the system can effect re-enablement of the affected peripheral unit, and then releasing the IO transfer for delivery to the newly-enabled peripheral unit.
There is an inherent performance degradation in operation of such a system since time must be taken to check whether a given peripheral unit is enabled--a check which must be made no later than the end of a cycle period. Thus, even when all peripheral devices are enabled, an IO trapping discipline imposes inefficiencies in the response of the system.
It would be advantageous to limit application of an IO trapping discipline to only those situations or configurations in which it is necessary that such a discipline be imposed. For example, when all peripheral devices are enabled or when power is derived from an AC source, no IO trapping discipline is required or desired.